using System.Diagnostics.Contracts;

namespace Beaker.Injection
{
	/// <summary>
	/// interface that can register the parts of the assembly to the <see cref="IContainerBuilder"/>.
	/// </summary>
	[ContractClass(typeof(InjectionModuleContracts))]
	public interface IInjectionModule
	{
		/// <summary>
		/// Implement this method to register youself with the DI container.
		/// </summary>
		/// <param name="builder">The container to configure your DI components with.</param>
		void Register(IContainerBuilder builder);
	}
}